Repository navigation
fix(libc): list the directory once for a missing path that may be a relinked module - #6230
Merged
oneandonlydean merged 1 commit intoOct 15, 2026
Conversation
…elinked module A read-only open, stat or reachability check of a missing path listed its directory twice: once for a case-insensitive match of the name and again for a case-insensitive match of the relinked <name>.guest.prx (boykopovar#5434). Both names are now matched in the same listing. Precedence and the ambiguous-name errors are unchanged.
This was referenced Oct 15, 2026
|
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Since #5434, a read-only open,
sceKernelStatorsceKernelCheckReachabilityof a missing path lists its directory twice: once inResolveHostPathfor a case-insensitive match of the name, and again inRelinkedModulePath_nid_no_patchfor<name>.guest.prx. Both names are now matched in the same listing. Which path is returned and the ambiguous-name errors stay the same as after #5434.RelinkedModulePath_nid_no_patchis unchanged for the dynamic loader.Tested
Linux, RTX GPU. A title that probes ~17k missing files in directories of up to 11k entries while it loads its first level: the second listing cost 12.1 s (16,764 listings) between pressing Start and the level starting. Frames from the second press to the level start, alternating runs with warm caches: main 634 / 599 / 589, this PR 377 / 366 / 376. In-level FPS unchanged. A second title shows no change. The new
guest_filesystemcheck (one directory open per missing-path lookup, plus the ambiguous.guest.prxthrow) fails on main and passes here. ctestguest|libc|libkernel|filesystem|agc_: 948/948 pass.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)